package com.youmu.sichuansfc.service;

import com.youmu.sichuansfc.domain.YoumuCompany;
import com.youmu.sichuansfc.domain.YoumuCompanyRisk;
import com.youmu.sichuansfc.domain.pojo.CompanyCountPojo;
import com.youmu.sichuansfc.dto.req.CompanyDto;
import com.youmu.sichuansfc.dto.rsp.CompanyAreaStatisticDto;
import com.youmu.sichuansfc.dto.rsp.CompanyDetail;
import com.youmu.sichuansfc.dto.rsp.CompanyT;
import com.youmu.sichuansfc.dto.rsp.CompanyTypeCount;

import java.sql.Timestamp;
import java.util.List;

public interface CompanyService {

    /**
     *  提交表单
     * @param companyDto
     * @return
     */
    public YoumuCompany insert(CompanyDto companyDto);
    /**
     *  搜索 公司
     * @param startTime
     * @param endTime
     * @param companyName
     * @param num
     * @param size
     * @return
     */
    public CompanyT searchCompany(Timestamp startTime, Timestamp endTime, String companyName, Integer companyStatus, int num, int size);

    /**
     *  查询某个公司
     * @param id 公司ID
     * @return
     */
    public CompanyDetail companyDetail(Long id);

    /**
     *  查询某个风险的详情
     * @param id
     * @return
     */
    public YoumuCompanyRisk companyRiskDetail(Long id);

    /**
     *  查询 每个状态对应公司数量 黑白灰
     * @return
     */
    public CompanyTypeCount companyTypeCount();


    /**
     * 查询异常公司数
     * @return
     */
    public int errCompany();


    /**
     * 查询每个类型公司的数量
     * @param areaId 地区ID
     * @return
     */
    public List<CompanyCountPojo> CompanyTypestatistic(int companyEnum, Long areaId);


    /**
     *  按地域统计 公司数量
     */
    public List<CompanyAreaStatisticDto> CompanyAreaStatistic(Long areaId);
}
